package com.test.example.controller.excel.model;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelCollection;
import cn.afterturn.easypoi.excel.annotation.ExcelEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Course {
    /** 主键 */
    private String id;

    /**
     * 课程名称
     * name和orderNum设置列名和列的顺序。
     * needMerge: 用于单元格合并。
     */
    @Excel(name = "课程名称", orderNum = "1", width = 25, needMerge=true)
    private String name;

    /**
     * 老师主键
     * ExcelEntity：用于嵌套对象的定义。通过 id 属性指定嵌套对象在 Excel 中的标识。
     */
    @ExcelEntity(id = "absent")
    private Teacher teacher;

    /**
     * ExcelCollection：表示一个集合,主要针对一对多的导出,比如一个课程对应多个学生,学生就可以用集合表示
     */
    @ExcelCollection(name = "学生", orderNum = "4")
    private List<Student> students;
}
